/*
 * Copyright (C) 2010 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

/**
 * AIDL for the robot controller service.
 * IRobotControllerService.java is autogenerated from this
 * 
 * @author chaitanyag@google.com (Chaitanya Gharpure)
 */
 
package com.cellbots.local;

// Declare the interface.
interface IRobotControllerService {
    // Connects to the robot over the specified Bluetooth device
    void connect(String username, String robotBtName, String robotBtAddr);
    // Connects to the robot over the specified Bluetooth device without arguments
    void connect2();
	// Makes roomba clean
	void clean();
	String connect3();	
    // Disconnect from the robot
    void disconnect();
    // Sends the specified command string to the robot over Bluetooth
    void sendCommand(String cmd);
    // Returns the specified sensor data
    byte[] getSensorData(int sensorType);
    // Returns pose as a String formatted as "x:y:th"
    String getPose();
    // Returns cumulative distance and heading as a String formatted as "distance:heading"
    String getOdometer(boolean reset);
    // Resets the cumulative distance and heading
    void resetOdometer();
    // Returns the sensor state of the robot as a JSON string
    String getStateJson();
    // Checks the state of the controller
    // returns 0 - failed connecting to Bluetooth
    //         1 - success, and ready to accept messages
    //         2 - NONE, i.e. currently starting or no status available
    int getState();
    //test
    String test();    
}